package lexico;

public class Token{

        public enum TipoToken{tk_natural, tk_float, tk_character, tk_integer, tk_iden,tk_mayor, tk_mayorIgual, tk_despDcha,
                tk_menor, tk_menorIgual, tk_despIzq, tk_asignacion, tk_asignacionc, tk_igual, tk_distinto, tk_mas, tk_menos, tk_mult, tk_div, tk_mod,
                tk_parentesisAbierto, tk_parentesisCerrado, tk_llaveAbierta, tk_llaveCerrada, 
                tk_puntoComa, tk_dosPuntos, tk_punto, tk_coma, tk_EOF, tk_comentario}
        
        //Atributos
        private String lexema;
        private TipoToken tipo;

        //Constructora
        public Token(TipoToken tipo, String lexema){
                this.tipo = tipo;
                this.lexema = lexema;           
        }
        
        //Getters
        public String getLexema() {
                return lexema;
        }

        public TipoToken getTipo() {
                return tipo;
        }

        //Metodos
        public String toString() {
                return "Token [lexema=" + lexema + ", tipo=" + tipo + "]";
        }
        
}